
package webservices.framework.affilinet.types.productservice;

import java.math.BigDecimal;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for Product complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="Product">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Id" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="ArticleNumber" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ShopInformation" type="{http://affilinet.framework.webservices/types/ProductService}ShopInformation" minOccurs="0"/>
 *         &lt;element name="Title" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Rank" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="DescriptionShort" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="MerchantCategoryId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="AffilinetCategoryId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="DisplayPrice" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Price" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="PricePrefix" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="PriceSuffix" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="PriceOld" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="Shipping" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="ShippingPrefix" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ShippingSuffix" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="DisplayShipping" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="CurrencySymbol" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Image" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="Image30" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="Image60" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="Image90" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="Image120" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="Image180" type="{http://affilinet.framework.webservices/types/ProductService}Image" minOccurs="0"/>
 *         &lt;element name="DeepLink1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="DeepLink2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="CategoryPath" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Manufacturer" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Distributor" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="EAN" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Brand" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Keywords" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Product", propOrder = {
    "id",
    "articleNumber",
    "shopInformation",
    "title",
    "rank",
    "descriptionShort",
    "description",
    "merchantCategoryId",
    "affilinetCategoryId",
    "displayPrice",
    "price",
    "pricePrefix",
    "priceSuffix",
    "priceOld",
    "shipping",
    "shippingPrefix",
    "shippingSuffix",
    "displayShipping",
    "currencySymbol",
    "image",
    "image30",
    "image60",
    "image90",
    "image120",
    "image180",
    "deepLink1",
    "deepLink2",
    "categoryPath",
    "manufacturer",
    "distributor",
    "ean",
    "brand",
    "keywords"
})
public class Product {

    @XmlElement(name = "Id")
    protected Integer id;
    @XmlElementRef(name = "ArticleNumber", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> articleNumber;
    @XmlElementRef(name = "ShopInformation", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<ShopInformation> shopInformation;
    @XmlElementRef(name = "Title", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> title;
    @XmlElement(name = "Rank")
    protected Integer rank;
    @XmlElementRef(name = "DescriptionShort", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> descriptionShort;
    @XmlElementRef(name = "Description", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> description;
    @XmlElement(name = "MerchantCategoryId")
    protected Integer merchantCategoryId;
    @XmlElement(name = "AffilinetCategoryId")
    protected Integer affilinetCategoryId;
    @XmlElementRef(name = "DisplayPrice", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> displayPrice;
    @XmlElement(name = "Price")
    protected BigDecimal price;
    @XmlElementRef(name = "PricePrefix", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> pricePrefix;
    @XmlElementRef(name = "PriceSuffix", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> priceSuffix;
    @XmlElementRef(name = "PriceOld", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<BigDecimal> priceOld;
    @XmlElementRef(name = "Shipping", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<BigDecimal> shipping;
    @XmlElementRef(name = "ShippingPrefix", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> shippingPrefix;
    @XmlElementRef(name = "ShippingSuffix", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> shippingSuffix;
    @XmlElementRef(name = "DisplayShipping", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> displayShipping;
    @XmlElementRef(name = "CurrencySymbol", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> currencySymbol;
    @XmlElementRef(name = "Image", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image;
    @XmlElementRef(name = "Image30", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image30;
    @XmlElementRef(name = "Image60", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image60;
    @XmlElementRef(name = "Image90", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image90;
    @XmlElementRef(name = "Image120", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image120;
    @XmlElementRef(name = "Image180", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<Image> image180;
    @XmlElementRef(name = "DeepLink1", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> deepLink1;
    @XmlElementRef(name = "DeepLink2", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> deepLink2;
    @XmlElementRef(name = "CategoryPath", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> categoryPath;
    @XmlElementRef(name = "Manufacturer", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> manufacturer;
    @XmlElement(name = "Distributor", required = true, nillable = true)
    protected String distributor;
    @XmlElementRef(name = "EAN", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> ean;
    @XmlElementRef(name = "Brand", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> brand;
    @XmlElementRef(name = "Keywords", namespace = "http://affilinet.framework.webservices/types/ProductService", type = JAXBElement.class)
    protected JAXBElement<String> keywords;

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setId(Integer value) {
        this.id = value;
    }

    /**
     * Gets the value of the articleNumber property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getArticleNumber() {
        return articleNumber;
    }

    /**
     * Sets the value of the articleNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setArticleNumber(JAXBElement<String> value) {
        this.articleNumber = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the shopInformation property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ShopInformation }{@code >}
     *     
     */
    public JAXBElement<ShopInformation> getShopInformation() {
        return shopInformation;
    }

    /**
     * Sets the value of the shopInformation property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ShopInformation }{@code >}
     *     
     */
    public void setShopInformation(JAXBElement<ShopInformation> value) {
        this.shopInformation = ((JAXBElement<ShopInformation> ) value);
    }

    /**
     * Gets the value of the title property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getTitle() {
        return title;
    }

    /**
     * Sets the value of the title property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setTitle(JAXBElement<String> value) {
        this.title = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the rank property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getRank() {
        return rank;
    }

    /**
     * Sets the value of the rank property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setRank(Integer value) {
        this.rank = value;
    }

    /**
     * Gets the value of the descriptionShort property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDescriptionShort() {
        return descriptionShort;
    }

    /**
     * Sets the value of the descriptionShort property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDescriptionShort(JAXBElement<String> value) {
        this.descriptionShort = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the description property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDescription() {
        return description;
    }

    /**
     * Sets the value of the description property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDescription(JAXBElement<String> value) {
        this.description = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the merchantCategoryId property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getMerchantCategoryId() {
        return merchantCategoryId;
    }

    /**
     * Sets the value of the merchantCategoryId property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setMerchantCategoryId(Integer value) {
        this.merchantCategoryId = value;
    }

    /**
     * Gets the value of the affilinetCategoryId property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getAffilinetCategoryId() {
        return affilinetCategoryId;
    }

    /**
     * Sets the value of the affilinetCategoryId property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setAffilinetCategoryId(Integer value) {
        this.affilinetCategoryId = value;
    }

    /**
     * Gets the value of the displayPrice property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDisplayPrice() {
        return displayPrice;
    }

    /**
     * Sets the value of the displayPrice property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDisplayPrice(JAXBElement<String> value) {
        this.displayPrice = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the price property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * Sets the value of the price property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setPrice(BigDecimal value) {
        this.price = value;
    }

    /**
     * Gets the value of the pricePrefix property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getPricePrefix() {
        return pricePrefix;
    }

    /**
     * Sets the value of the pricePrefix property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setPricePrefix(JAXBElement<String> value) {
        this.pricePrefix = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the priceSuffix property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getPriceSuffix() {
        return priceSuffix;
    }

    /**
     * Sets the value of the priceSuffix property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setPriceSuffix(JAXBElement<String> value) {
        this.priceSuffix = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the priceOld property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
     *     
     */
    public JAXBElement<BigDecimal> getPriceOld() {
        return priceOld;
    }

    /**
     * Sets the value of the priceOld property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
     *     
     */
    public void setPriceOld(JAXBElement<BigDecimal> value) {
        this.priceOld = ((JAXBElement<BigDecimal> ) value);
    }

    /**
     * Gets the value of the shipping property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
     *     
     */
    public JAXBElement<BigDecimal> getShipping() {
        return shipping;
    }

    /**
     * Sets the value of the shipping property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link BigDecimal }{@code >}
     *     
     */
    public void setShipping(JAXBElement<BigDecimal> value) {
        this.shipping = ((JAXBElement<BigDecimal> ) value);
    }

    /**
     * Gets the value of the shippingPrefix property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getShippingPrefix() {
        return shippingPrefix;
    }

    /**
     * Sets the value of the shippingPrefix property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setShippingPrefix(JAXBElement<String> value) {
        this.shippingPrefix = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the shippingSuffix property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getShippingSuffix() {
        return shippingSuffix;
    }

    /**
     * Sets the value of the shippingSuffix property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setShippingSuffix(JAXBElement<String> value) {
        this.shippingSuffix = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the displayShipping property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDisplayShipping() {
        return displayShipping;
    }

    /**
     * Sets the value of the displayShipping property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDisplayShipping(JAXBElement<String> value) {
        this.displayShipping = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the currencySymbol property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getCurrencySymbol() {
        return currencySymbol;
    }

    /**
     * Sets the value of the currencySymbol property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setCurrencySymbol(JAXBElement<String> value) {
        this.currencySymbol = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the image property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage() {
        return image;
    }

    /**
     * Sets the value of the image property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage(JAXBElement<Image> value) {
        this.image = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the image30 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage30() {
        return image30;
    }

    /**
     * Sets the value of the image30 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage30(JAXBElement<Image> value) {
        this.image30 = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the image60 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage60() {
        return image60;
    }

    /**
     * Sets the value of the image60 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage60(JAXBElement<Image> value) {
        this.image60 = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the image90 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage90() {
        return image90;
    }

    /**
     * Sets the value of the image90 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage90(JAXBElement<Image> value) {
        this.image90 = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the image120 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage120() {
        return image120;
    }

    /**
     * Sets the value of the image120 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage120(JAXBElement<Image> value) {
        this.image120 = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the image180 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public JAXBElement<Image> getImage180() {
        return image180;
    }

    /**
     * Sets the value of the image180 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link Image }{@code >}
     *     
     */
    public void setImage180(JAXBElement<Image> value) {
        this.image180 = ((JAXBElement<Image> ) value);
    }

    /**
     * Gets the value of the deepLink1 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDeepLink1() {
        return deepLink1;
    }

    /**
     * Sets the value of the deepLink1 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDeepLink1(JAXBElement<String> value) {
        this.deepLink1 = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the deepLink2 property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getDeepLink2() {
        return deepLink2;
    }

    /**
     * Sets the value of the deepLink2 property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setDeepLink2(JAXBElement<String> value) {
        this.deepLink2 = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the categoryPath property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getCategoryPath() {
        return categoryPath;
    }

    /**
     * Sets the value of the categoryPath property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setCategoryPath(JAXBElement<String> value) {
        this.categoryPath = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the manufacturer property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getManufacturer() {
        return manufacturer;
    }

    /**
     * Sets the value of the manufacturer property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setManufacturer(JAXBElement<String> value) {
        this.manufacturer = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the distributor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDistributor() {
        return distributor;
    }

    /**
     * Sets the value of the distributor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDistributor(String value) {
        this.distributor = value;
    }

    /**
     * Gets the value of the ean property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getEAN() {
        return ean;
    }

    /**
     * Sets the value of the ean property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setEAN(JAXBElement<String> value) {
        this.ean = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the brand property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getBrand() {
        return brand;
    }

    /**
     * Sets the value of the brand property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setBrand(JAXBElement<String> value) {
        this.brand = ((JAXBElement<String> ) value);
    }

    /**
     * Gets the value of the keywords property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public JAXBElement<String> getKeywords() {
        return keywords;
    }

    /**
     * Sets the value of the keywords property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link String }{@code >}
     *     
     */
    public void setKeywords(JAXBElement<String> value) {
        this.keywords = ((JAXBElement<String> ) value);
    }

}
